package model

import (
	"gorm.io/gorm"
	"time"
)

type House struct {
	Id            uint           `gorm:"column:id;type:bigint(20) UNSIGNED;comment:id;primaryKey;not null;" json:"id"`                          // id
	UserId        uint           `gorm:"column:user_id;type:bigint(20) UNSIGNED;comment:用户id;not null;default:0;" json:"user_id"`               // 用户id
	Title         string         `gorm:"column:title;type:varchar(255);comment:标题;not null;" json:"title"`                                      // 标题
	Price         uint           `gorm:"column:price;type:int(10) UNSIGNED;comment:价格;not null;default:0;" json:"price"`                        // 价格
	Area          uint           `gorm:"column:area;type:int(10) UNSIGNED;comment:面积;not null;default:0;" json:"area"`                          // 面积
	City          string         `gorm:"column:city;type:varchar(255);comment:城市;not null;" json:"city"`                                        // 城市
	Address       string         `gorm:"column:address;type:varchar(255);comment:地址;not null;" json:"address"`                                  // 地址
	CommunityName string         `gorm:"column:community_name;type:varchar(255);comment:详情名称;not null;" json:"community_name"`                  // 详情名称
	PictureUrl    string         `gorm:"column:picture_url;type:varchar(255);comment:封面图url;not null;" json:"picture_url"`                      // 封面图url
	VideoUrl      string         `gorm:"column:video_url;type:varchar(255);comment:视频url;not null;" json:"video_url"`                           // 视频url
	Status        uint           `gorm:"column:status;type:bigint(20) UNSIGNED;comment:状态: 1:在售 2:已售 3:已下架 ;not null;default:1;" json:"status"` // 状态: 1:在售 2:已售 3:已下架
	CreatedAt     time.Time      `gorm:"column:created_at;type:datetime(3);not null;" json:"created_at"`
	UpdatesAt     time.Time      `gorm:"column:updates_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updates_at"`
	DeletedAt     gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}

func (h *House) TableName() string {
	return "house"
}
